import request from './request';

// 获取工时记录列表
export function getAttendanceList(params) {
  // 添加额外参数以确保后端返回完整的nickname信息
  const enhancedParams = { 
    ...params,
    expand: 'nickname'  // 请求展开nickname字段，获取完整用户信息
  }
  
  return request({
    url: '/api/umm/attendance/',
    method: 'get',
    params: enhancedParams
  });
}

// 获取单个工时记录详情
export function getAttendance(id) {
  return request({
    url: `/api/umm/attendance/${id}/`,
    method: 'get'
  });
}

// 创建工时记录
export function createAttendance(data) {
  return request({
    url: '/api/umm/attendance/',
    method: 'post',
    data
  });
}

// 更新工时记录
export function updateAttendance(id, data) {
  return request({
    url: `/api/umm/attendance/${id}/`,
    method: 'put',
    data
  });
}

// 删除工时记录
export function deleteAttendance(id) {
  return request({
    url: `/api/umm/attendance/${id}/`,
    method: 'delete'
  });
}

// 批量删除工时记录
export function batchDeleteAttendance(ids) {
  return request({
    url: '/api/umm/attendance/batch_delete/',
    method: 'post',
    data: { ids }
  });
}

// 导出工时记录
export function exportAttendance(params) {
  return request({
    url: '/api/umm/attendance/export/',
    method: 'get',
    params,
    responseType: 'blob'
  });
}

// 导入考勤数据
export function importAttendance(formData) {
  return request({
    url: '/api/umm/attendance/import_data/', // 后端需要创建这个 URL
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    timeout: 60000 // 60秒超时
  });
}

// 获取用户列表（用于选择员工）
export function getUserList() {
  return request({
    url: '/api/umm/users/',
    method: 'get'
  });
}

// 获取工时记录导入模板
export function getAttendanceImportTemplate() {
  return request({
    url: '/api/umm/attendance/import_template/',
    method: 'get',
    responseType: 'blob',
    timeout: 60000 // 60秒超时
  });
} 